- MTR Rd0 BS Rd1 BS Rd2 BS ... C5
The MTR (memory to register-file) instruction copies the contents of adjacent
memory addresses to the specified register file addresses with the corresponding
bank selects. The transfer is performed via Port4 of the register file. When
C5 = 1, some exceptions are conditioned by the top of the stack (see below).
Takes cycles to execute.
Example: MASM code see below
ADDR DISP C5 MCC STKC FLW IOC AGU ASEL BS5 P5 BS4 C4 P4 MPC
--------------------------------------------------------------------
004A: 00050000 0 - - - - - - 0 00 0 0 00 -
004B: 00001000 0 - - - - D - 0 00 0 0 00 -
004C: 00000000 0 - - - - - LAL 0 00 0 0 00 -
004D: 00000000 0 M2R - - - - - 0 00 0 0 00 -
004E: 00000000 1 - - - - - - 0 00 0 0 00 -
004F: 00000000 0 - - - - - - 0 00 0 0 00 -
0050: 00000000 0 - - - - - - 0 00 0 0 00 -
0051: 00000000 0 - - - - - - 0 00 0 0 00 -
0052: 00000000 0 - - - - - - 0 00 0 0 00 -
0053: 00000000 0 - - - - - - 0 00 0 0 00 -
0054: 00000000 0 - - - - - - 0 00 0 0 00 -
0055: 00000000 0 - - - - - - 0 00 0 0 00 -
0056: 00000000 0 - - - - - - 0 00 0 0 00 -
0057: 00000000 0 - - - - - - 0 00 0 0 00 -
0058: 00000000 0 - - - - - - 0 00 0 0 00 -
0059: 00000000 0 - - - - - - 0 00 0 0 00 -
005A: 00000000 0 - - - - - - 0 00 0 0 00 -
005B: 00000000 0 - - - - - - 0 00 0 0 00 -
005C: 00000000 0 - - - M2RF - - 0 00 0 0 00 -
005D: 00000000 0 - - - M2RF - - 0 00 1 0 0a -
005E: 00000000 0 - - - M2RF - - 0 00 2 0 0b -
005F: 00000000 0 - - - M2RF - - 0 00 3 0 0c -
0060: 00000000 0 - - - M2RF - - 0 00 3 0 0d -
0061: 00000000 0 - - - - - - 0 00 0 0 0e -
Configuration Register: 0x20 (CrMemExc)
 |
Exception No. |
Mask |
R/W Access |
Cond. |
Name |
 |
[8] |
00000000 00000100 |
RW |
C5 |
Data Segmentation Fault |
[13] |
00000000 00002000 |
RW |
C5 |
Remote Address Invalid |
[18] |
00000000 00040000 |
RW |
|
MTR FIFO Full |
 |
AGU_D ZERO 0x0005000000001000
!! Generates 0x0005000000001000
!! on the output of the accumulator
LAL 0
!! Loads the above value, which
!! encodes:
!! Len = 5, Memory address = 0x1000
MTR 0xA 1 0xB 2 0xC 3 0xD 3 0xE 0 1
!! Loads data of 0x1000 into the
!! low-bank of reg = 0xA (BS4 = 1),
!! 0x1001 into high-bank of reg = 0xB
!! (BS4 = 2), 0x1002 into both-banks
!! of reg = 0xC (BS4 = 3), the same
!! for reg = 0xD, but nothing is copied
!! into reg = 0xE (BS4 = 0).